﻿using Loki.IoC;

namespace Luna.Data
{
    public static class DataInstallers
    {
        private static AccountInstaller accounts = new AccountInstaller();

        private static ConfigurationInstaller configuration = new ConfigurationInstaller();

        private static CommonInstaller common = new CommonInstaller();

        private static BudgetInstaller budget = new BudgetInstaller();

        public static CommonInstaller Common
        {
            get
            {
                return common;
            }
        }

        public static AccountInstaller Accounts
        {
            get
            {
                return accounts;
            }
        }

        public static ConfigurationInstaller Configuration
        {
            get
            {
                return configuration;
            }
        }

        public static BudgetInstaller Budget
        {
            get
            {
                return budget;
            }
        }

        public static IContextInstaller All
        {
            get
            {
                return new LokiContextInstaller().Merge(Accounts, Configuration, Budget, Common);
            }
        }
    }
}